<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>ccwangzh的小破站 - WebDAV客户端配置</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="ccwangzh">
    <meta name="keywords" content="">
    <meta name="generator" content="JBake">
    
    


    <link href="/feed.xml" rel="alternate" type="application/rss+xml" title="ccwangzh的小破站" />
    <link rel="stylesheet" href="../../resources/css/bootstrap.min.css" />
    <link rel="stylesheet" href="../../resources/css/highlightjs-themes/androidstudio.css" />
    <link rel="stylesheet" href="../../resources/css/font-awesome.min.css" />
    <link rel="stylesheet" href="../../resources/css/phlat.css" />
    <link rel="stylesheet" href="../../resources/css/phlat-custom.css" />

    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="../../js/html5shiv.min.js"></script>
    <![endif]-->

    <!-- Fav and touch icons -->
    <!--<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
    <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">-->
    <link rel="shortcut icon" href="../../img/favicon/favicon.png">
  </head>
  <body>
  	
<nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/">ccwangzh的小破站</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right">
    			<li>
                    <a href=" https://fab.us.kg">
                       
                            <i class="fa fa-home">&nbsp;</i>Home
                        
                    </a>
            	</li>
    			<li>
                    <a href=" ../../archive.html">
                       
                            <i class="fa fa-archive">&nbsp;</i>Archive
                        
                    </a>
            	</li>
    			<li>
                    <a href=" ../../feed.xml">
                       
                            <i class="fa fa-rss">&nbsp;</i>Subscribe
                        
                    </a>
            	</li>
    			<li>
                    <a href=" ../../resources/html/marks.html">
                       
                            <i class="fa fa-cloud-download">&nbsp;</i>Marks
                        
                    </a>
            	</li>
            </ul>
        </div>
    </div>
</nav>  	
  
	
	<div id="top" class="container">
		<div class="row" id="content-main">
		    <div class="col-md-8">
<div class="row">
    <div class="col-md-12 content-card">
        <h1>WebDAV客户端配置</h1>
            
            <ul class="list-inline meta">
                <li><i class="fa fa-calendar"></i>七月, 19 2022</li>
                <li><i class="fa fa-user"></i>ccwangzh</li>
	            	<li><i class="fa fa-tag"></i><a href="/tags/blog.html">blog</a></li>
            </ul>

       <p>WebDAV （Web-based Distributed Authoring and Versioning） 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1，在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法，使应用程序可直接对Web Server直接读写，并支持写文件锁定(Locking)及解锁(Unlock)，还可以支持文件的版本控制，本章使用nginx加载模块webdav实现此功能。</p>
<p>下载</p>
<pre><code>https://github.com/perry-mitchell/webdav-fs
</code></pre>
<p>这个项目中的index.html，放到webdav文件架中用浏览器访问该路径就可以了。<br />
如果找不到index.html,我这里提供一份html源代码，进攻参考。</p>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;webdav-js&lt;/title&gt;

        &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css&quot;/&gt;
        &lt;link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css&quot;/&gt;
        &lt;link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/monokai-sublime.min.css&quot;/&gt;
        &lt;style type=&quot;text/css&quot;&gt;
            h1 .version { opacity: 0; font-size: 0.8em; font-family: monospace; letter-spacing: -5px; transition: .25s opacity linear; }
            h1:hover .version { opacity: .3; }

            pre { position: relative; }
            pre a.btn { display: none; position: absolute; right: 2px; top: 2px; }
            pre:hover a.btn { display: block; }
            .no-clipboard pre:hover a.btn { display: none; }
        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;a href=&quot;https://github.com/dom111/webdav-js&quot; class=&quot;github-corner&quot; aria-label=&quot;View source on Github&quot;&gt;&lt;svg width=&quot;80&quot; height=&quot;80&quot; viewBox=&quot;0 0 250 250&quot; style=&quot;fill:#C7254E; color:#F9F2F4; position: fixed; top: 0; border: 0; right: 0;&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2&quot; fill=&quot;currentColor&quot; style=&quot;transform-origin: 130px 106px;&quot; class=&quot;octo-arm&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z&quot; fill=&quot;currentColor&quot; class=&quot;octo-body&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;style&gt;.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}&lt;/style&gt;

        &lt;div class=&quot;jumbotron&quot;&gt;
            &lt;div class=&quot;container&quot;&gt;
                &lt;h1&gt;&lt;code&gt;webdav-js&lt;/code&gt; &lt;span class=&quot;version&quot; title=&quot;Last updated: 2019-11-22&quot;&gt;v2.0.0&lt;/span&gt;&lt;/h1&gt;
                &lt;p&gt;A browser-based WebDAV client, written in JavaScript.&lt;/p&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;container&quot;&gt;
            &lt;section class=&quot;parser panel panel-primary&quot;&gt;
                &lt;div class=&quot;panel-heading panel-heading-lg&quot;&gt;
                    &lt;h2 class=&quot;panel-title panel-title-lg&quot;&gt;Information&lt;/h2&gt;
                &lt;/div&gt;
                &lt;div class=&quot;panel-body&quot;&gt;
                    &lt;p&gt;
                      This simple WebDAV browsing/uploading client is a useful cross-browser addition to the bookmarks
                      of anyone that has to interact with WebDAV. It supports previewing of many common filetypes
                      (syntax highlighting for code, previews for images/videos/fonts), drag and drop file uplaods and
                      history state (for back button navigation).
                    &lt;/p&gt;
                    &lt;p&gt;
                      Whilst this started out as a very simple bookmarklet with some basic styling (and it's still not
                      much more than that!), I'd like to continue improve it somewhat, adding in new features and using
                      it as a testbed for front-end framework experience. I'd like to investigate more thorough testing
                      using it too, ideally performing full end-to-end testing for all the features currently
                      implemented.
                    &lt;/p&gt;
                    &lt;p&gt;
                      To see how it looks clone the repo, run: &lt;code&gt;docker-compose up&lt;/code&gt; and navigate to
                      &lt;a href=&quot;http://localhost:8080/&quot;&gt;http://localhost:8080/&lt;/a&gt;.
                    &lt;/p&gt;
                    &lt;p&gt;You're free to use this tool without restriction.&lt;/p&gt;
                &lt;/div&gt;

                &lt;div class=&quot;panel-footer&quot;&gt;
                    &lt;aside class=&quot;options&quot;&gt;
                        &lt;h3&gt;Use it&lt;/h3&gt;
                        &lt;p&gt;
                          There's a &lt;a href=&quot;https://github.com/dom111/webdav-js&quot;&gt;github repository&lt;/a&gt; where you can
                          download the source that also includes example implementations.
                        &lt;/p&gt;
                        &lt;p&gt;I've also created a bookmarklet that you can add to your bookmarks bar:&lt;/p&gt;

                        &lt;p class=&quot;text-center&quot;&gt;
                            &lt;a href=&quot;javascript:%5B%22https%3A//cdn.jsdelivr.net/gh/dom111/webdav-js/assets/css/style-min.css%22%2C%22https%3A//cdn.jsdelivr.net/gh/dom111/webdav-js/src/webdav-min.js%22%5D.forEach%28%28function%28e%2Cs%29%7B/css%24/.test%28e%29%3F%28%28s%3Ddocument.createElement%28%22link%22%29%29.href%3De%2Cs.rel%3D%22stylesheet%22%29%3A%28s%3Ddocument.createElement%28%22script%22%29%29.src%3De%2Cdocument.head.appendChild%28s%29%7D%29%29%3B&quot; class=&quot;btn btn-primary btn-lg&quot;&gt;
                                Browse WebDAV...
                            &lt;/a&gt;
                        &lt;/p&gt;
                        &lt;p&gt;or copy/paste from the below:&lt;/p&gt;
                       &lt;pre class=&quot;copy-paste&quot;&gt;&lt;code class=&quot;js&quot;&gt;javascript:[&quot;https://cdn.jsdelivr.net/gh/dom111/webdav-js/assets/css/style-min.css&quot;,&quot;https://cdn.jsdelivr.net/gh/dom111/webdav-js/src/webdav-min.js&quot;].forEach((function(e,s){/css$/.test(e)?((s=document.createElement(&quot;link&quot;)).href=e,s.rel=&quot;stylesheet&quot;):(s=document.createElement(&quot;script&quot;)).src=e,document.head.appendChild(s)}));&lt;/code&gt;&lt;a class=&quot;btn btn-primary btn-xs copy&quot; href=&quot;#&quot; data-clipboard-target=&quot;pre.copy-paste code&quot;&gt;Copy&lt;/a&gt;&lt;/pre&gt;
                    &lt;/aside&gt;
                &lt;/div&gt;
            &lt;/section&gt;

            &lt;footer&gt;
                &lt;p&gt;Copyright &amp;copy; 2012-2019 &lt;a href=&quot;https://dom.hastin.gs/&quot;&gt;Dom Hastings&lt;/a&gt;&lt;/p&gt;
            &lt;/footer&gt;
        &lt;/div&gt;

        &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.6.0/clipboard.min.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js&quot;&gt;&lt;/script&gt;

        &lt;script type=&quot;text/javascript&quot;&gt;
            hljs.initHighlightingOnLoad();

            if (Clipboard.isSupported()) {
                new Clipboard('a.copy');
            }
            else {
                $('body').addClass('no-clipboard');
            }

            $('a.copy').on('click', function(event) {
                event.preventDefault();
            });
        &lt;/script&gt;
        &lt;script&gt;
          (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
          m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
          })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

          ga('create', 'UA-5273748-7', 'auto');
          ga('send', 'pageview');

        &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>调整nginx配置文件</p>
<pre><code>    location /webdav {
        root /home;

        autoindex on;
        autoindex_localtime on;

        dav_methods PUT DELETE MKCOL COPY MOVE;      # DAV支持的请求方法
        dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;# DAV扩展支持的请求方法
        create_full_put_path  on;                    # 启用创建目录支持
        dav_access user:rw group:r all:r;            # 设置创建的文件及目录的访问权限

        auth_basic &quot;Authorized Users WebDAV&quot;;
        auth_basic_user_file /etc/nginx/webdav.users;
    }
</code></pre>
<p>生成访问密码</p>
<pre><code>echo &quot;webdav:$(openssl passwd 123456)&quot; &gt;/etc/nginx/webdav.users
</code></pre>

       
    </div>
</div>

<div class="row">
    <div class="col-md-12">
        <div class="row">
        	
            <div class="col-md-4" style="text-align: left; padding-left: 0px">
            	                <a href="../../blog/2022/nginx-rebuild.html" 
                class="btn btn-default"  role="button" style="border-radius: 0px; display: block"> <i class="fa fa-arrow-circle-left" aria-hidden="true"></i> Nginx重新编译</a>
            </div>
            
            <div class="col-md-4 col-md-offset-4" style="text-align: right; padding-right: 0px">
		        <a href="../../blog/2022/sublime-sftp.html" 
		                class=" btn btn-default"  role="button" style="border-radius: 0px; display: block">Windows上Sublime安装SFTP插件 <i class="fa fa-arrow-circle-right" aria-hidden="true"></i> </a>
            </div>
        </div>
    </div>
</div>		    </div>
	        <div class="col-md-4">
<div class="row">
    <div class="col-md-11 col-md-offset-1 card">
        <h5>Search</h5>
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form">
            <div class="input-group">
                <input class="form-control" type="search" name="q" />
                <span class="input-group-btn">
                    <button class="btn btn-custom" type="submit"><span class="glyphicon glyphicon-search"></span></button>
                </span>
            </div>
            <input type="hidden" name="q" value="site:https://fab.us.kg">
        </form>
    </div>
</div>
<div class="row">
	<div class="col-md-11 col-md-offset-1 card intro">
		<div class="logo">
			<a href="about.html"><img src="https://fab.us.kg/resources/img/main/icon.png" 
			alt="ccwangzh's blog"
				class="img-responsive img-circle" style="margin: 0 auto;"></a>
		</div>
		<br>
		<div class="col-md-12 text-center">
			<div class="header">
				<a href="about.html">ccwangzh's blog</a>
			</div>
			<div class="summary">
				<p>Talk is cheap. Show me the code.</p>
<div class='demopadding'>
	
			<div class='icon social gh'><a href="//github.com/ccwangzh" target="_blank" title="Github"><i class="fa fa-github"></i></a></div>
		<div class='icon social wx'><a href="//wechat.com/ccwangzh" target="_blank" title="Wechat"><i class="fa fa-weixin"></i></a></div>
		<div class='icon social wb'><a href="//weibo.com/ccwangzh" target="_blank" title="Weibo"><i class="fa fa-weibo"></i></a></div>
		<div class='icon social tw'><a target="_blank" href="//twitter.com/ccwangzh"><i class="fa fa-twitter"></i></a></div>
	
	
		<div class='icon social'><a href="mailto:ccwangzh@sina.com" target="_blank" title="E-mail"><i class="fa fa-envelope"></i></a></div>

	
</div> 	
			</div>
		</div>
	</div>
</div><div class="row">
    <div class="col-md-11 col-md-offset-1 card">
        <h5>Recent Posts</h5>
        <ul class="list-unstyled posts-recent">
                            <li><a href="../../blog/2022/sublime-sftp.html">Windows上Sublime安装SFTP插件</a></li>
                <li><a href="../../blog/2022/webdav-js-client.html">WebDAV客户端配置</a></li>
                <li><a href="../../blog/2022/nginx-rebuild.html">Nginx重新编译</a></li>
                <li><a href="../../blog/2022/aria2c-usage.html">Aria2c使用简介</a></li>
                <li><a href="../../blog/2021/hbase-operate.html">HBase操作命令简介</a></li>
        </ul>
    </div>
</div>
	
        <div class="row">
            <div class="col-md-11 col-md-offset-1 content-card card">
                <h5>Tags</h5>
                <ul class="list-inline tags" style="margin-top: 15px; margin-left: 0px">
							            	<li style=""><a href="/tags/blog.html">blog</a></li>
		    	</ul>
            </div>
        </div>

	        </div>
	    </div>
	</div>

	

	<footer class="footer">
	    <div class="container">
	        <div class="row">
	        	
<div class="col-md-8 col-xs-6">
    <ul class="list-inline links">
       		<li>
	        <a href=" ../../privacy.html">
	           
	                <i class="">&nbsp;</i>Privacy Policy
	            
	        </a>
		</li>
		<li>
	        <a href=" ../../about.html">
	           
	                <i class="fa fa-user">&nbsp;</i>About Me
	            
	        </a>
		</li>
    </ul>
</div>
	        </div>
	        <div class="row">
	            <div class="col-md-12">
	                <p>
						&copy; 2021 Powered by <a href="https://jbake.org">JBake</a> Theme by <a href="https://github.com/manikmagar/jbake-phlat-theme">JBake Phlat Theme</a> Ported by <a href="https://twitter.com/manikmagar">Manik Magar</a>.
	                </p>
	            </div>
	        </div>
	    </div>
	</footer>

	<div id="back-to-top" class="hidden">
	    <a href="#top" class="well well-sm" onclick="$('html,body').animate({scrollTop:0},'slow');return false;">
	        <i class="glyphicon glyphicon-chevron-up"></i> Back to Top
	    </a>
	</div>

	

	<script src="../../resources/js/jquery-2.2.1.min.js"></script>
	<script src="../../resources/js/bootstrap.min.js"></script>
	<script src="../../resources/js/highlight.min.js"></script>
	<script src="../../resources/js/readingTime.js"></script>
	
	<script>
	    if(($(window).height() + 100) < $(document).height()) {
	        $('#back-to-top').removeClass('hidden').affix({
	            offset: {
	                top: 100
	            }
	        });
	    }
	</script>
		<!-- This is called by default since this theme uses highlight.js -->
		<script>hljs.initHighlightingOnLoad();</script>
		<!--[if lte IE 8]><script src="/js/ie/respond.min.js"></script><![endif]-->

  </body>
</html>
